home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 49 / Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso / -serious- / misc / ini_library / sources / c / ini_example / ini_example.s < prev    next >
Text File  |  1999-11-30  |  29KB  |  1,089 lines

  1.  
  2. ; Storm C Compiler
  3. ; Work:Sources/C/INI_Example/INI_Example.c
  4.  
  5.  
  6.     XREF    _memcpy
  7.     XREF    _exit
  8.     XREF    _std__in
  9.     XREF    _std__out
  10.     XREF    _std__err
  11.     XREF    _SysBase
  12.  
  13.     SECTION ":0",CODE
  14.  
  15.  
  16.     XDEF    _INIT_8_INI_Example_c
  17. _INIT_8_INI_Example_c
  18. L41    EQU    0
  19.     link    a5,#L41
  20. L40
  21. ;0x6f, 0x6e, 0x2e,
  22. ;struct ScreenList WBScreen =
  23.     lea    _WBScreen(a4),a0
  24.     add.w    #$C,a0
  25.     lea    _WBScreen(a4),a1
  26.     lea    $10(a1),a1
  27.     move.l    a1,(a0)
  28.     lea    _WBScreen(a4),a1
  29.     lea    $C(a1),a1
  30.     move.l    a1,$8(a0)
  31. ;struct INIScreen Screens =
  32.     lea    _Screens(a4),a0
  33.     lea    _WBScreen(a4),a1
  34.     move.l    a1,(a0)
  35.     lea    _WBScreen(a4),a1
  36.     move.l    a1,$8(a0)
  37. ;UWORD DefaultColTab[256] =
  38.     lea    _DefaultColTab(a4),a0
  39.     lea    $20(a0),a0
  40.     move.w    #$1DF,d0
  41. L42
  42.     clr.b    (a0)+
  43.     dbra    d0,L42
  44. ;struct NewScreen NewScreenStr =
  45. ;    /* Copy all 256 default colors to updated color t
  46. ;unsigned char ScreenContext[16] = "Screen";
  47. ;unsigned char WindowContext[16] = "Window";
  48.     unlk    a5
  49.     rts
  50.  
  51. ;void InitNode (struct List *NodeList)
  52.     XDEF    InitNode__P04List
  53. InitNode__P04List
  54. L44    EQU    0
  55.     link    a5,#L44
  56.     move.l    $8(a5),a0
  57. L43
  58. ;  NodeList->lh_Head = (struct Node *) &(NodeList->lh_Tail);
  59.     lea    4(a0),a1
  60.     move.l    a1,(a0)
  61. ;  NodeList->lh_Tail = (struct Node *) NULL;
  62.     clr.l    4(a0)
  63. ;  NodeList->lh_TailPred = (struct Node *) &(NodeList->lh_Head);
  64.     move.l    a0,$8(a0)
  65.     unlk    a5
  66.     rts
  67.  
  68. ;int ReadINIScreens (struct iniFile *iniFile)
  69.     XDEF    ReadINIScreens__P07iniFile
  70. ReadINIScreens__P07iniFile
  71. L67    EQU    -$218
  72.     link    a5,#L67
  73.     movem.l    d2-d5/a2/a3/a6,-(a7)
  74. L54
  75. ;  int rc = 20;
  76.     moveq    #$14,d5
  77. ;  unsigned long CurrentScrNum = 1;
  78.     moveq    #1,d4
  79. ;  for (;;
  80. L55
  81. ;  
  82. ;    iniIntToStr ( ScreenContext+6, CurrentScrNum, INI_FORMAT_DEC
  83.     lea    _ScreenContext(a4),a0
  84.     move.l    _INIBase(a4),a6
  85.     move.l    d4,d0
  86.     moveq    #0,d1
  87.     moveq    #0,d2
  88.     moveq    #$20,d3
  89.     lea    6(a0),a0
  90.     jsr    -$1AA(a6)
  91. ;    CurrentScrNum++;
  92.     addq.l    #1,d4
  93. ;    if (!(CurrentContext = iniFindContext ( iniFile, ScreenConte
  94.     move.l    _INIBase(a4),a6
  95.     moveq    #0,d0
  96.     move.l    $8(a5),a0
  97.     lea    _ScreenContext(a4),a1
  98.     jsr    -$1BC(a6)
  99.     tst.l    d0
  100.     bne.b    L57
  101. L56
  102. ;    
  103. ;      rc = 0;
  104.     moveq    #0,d5
  105. ;      
  106.     bra    L66
  107. L57
  108. ;    NewScreenStr.LeftEdge = iniReadLong ( iniFile, ScreenContext
  109.     move.l    _INIBase(a4),a6
  110.     moveq    #0,d0
  111.     moveq    #0,d1
  112.     move.l    $8(a5),a0
  113.     lea    _ScreenContext(a4),a1
  114.     lea    L45(pc),a2
  115.     jsr    -$B4(a6)
  116.     move.w    d0,_NewScreenStr(a4)
  117. ;    NewScreenStr.TopEdge = iniReadLong ( iniFile, ScreenContext,
  118.     move.l    _INIBase(a4),a6
  119.     moveq    #0,d0
  120.     moveq    #0,d1
  121.     move.l    $8(a5),a0
  122.     lea    _ScreenContext(a4),a1
  123.     lea    L46(pc),a2
  124.     jsr    -$B4(a6)
  125.     move.w    d0,_NewScreenStr+2(a4)
  126. ;    NewScreenStr.Width = iniReadLong ( iniFile, ScreenContext,
  127.     move.l    _INIBase(a4),a6
  128.     move.l    #$280,d0
  129.     moveq    #0,d1
  130.     move.l    $8(a5),a0
  131.     lea    _ScreenContext(a4),a1
  132.     lea    L47(pc),a2
  133.     jsr    -$B4(a6)
  134.     move.w    d0,_NewScreenStr+4(a4)
  135. ;    NewScreenStr.Height = iniReadLong ( iniFile, ScreenContext,
  136.     move.l    _INIBase(a4),a6
  137.     move.l    #$100,d0
  138.     moveq    #0,d1
  139.     move.l    $8(a5),a0
  140.     lea    _ScreenContext(a4),a1
  141.     lea    L48(pc),a2
  142.     jsr    -$B4(a6)
  143.     move.w    d0,_NewScreenStr+6(a4)
  144. ;    NewScreenStr.Depth = iniReadLong ( iniFile, ScreenContext,
  145.     move.l    _INIBase(a4),a6
  146.     moveq    #4,d0
  147.     moveq    #0,d1
  148.     move.l    $8(a5),a0
  149.     lea    _ScreenContext(a4),a1
  150.     lea    L49(pc),a2
  151.     jsr    -$B4(a6)
  152.     move.w    d0,_NewScreenStr+$8(a4)
  153. ;    NewScreenStr.ViewModes = iniReadLong ( iniFile, ScreenContex
  154.     move.l    _INIBase(a4),a6
  155.     move.l    #$8000,d0
  156.     moveq    #0,d1
  157.     move.l    $8(a5),a0
  158.     lea    _ScreenContext(a4),a1
  159.     lea    L50(pc),a2
  160.     jsr    -$B4(a6)
  161.     move.w    d0,_NewScreenStr+$C(a4)
  162. ;    NewScreenStr.DefaultTitle = iniReadStr ( iniFile, ScreenCont
  163.     move.l    _INIBase(a4),a6
  164.     moveq    #0,d0
  165.     move.l    $8(a5),a0
  166.     lea    _ScreenContext(a4),a1
  167.     lea    L52(pc),a2
  168.     lea    L51(pc),a3
  169.     jsr    -$C0(a6)
  170.     move.l    d0,_NewScreenStr+$14(a4)
  171. ;    memcpy (ScrColorTable,DefaultColTab,256);
  172.     pea    $100.w
  173.     pea    _DefaultColTab(a4)
  174.     pea    -$210(a5)
  175.     bsr    _memcpy
  176.     add.w    #$C,a7
  177. ;    ScrNumCols = (NewScreenStr.Depth < 8 ? 1L<<NewScreenStr.Dept
  178.     move.w    _NewScreenStr+$8(a4),d0
  179.     cmp.w    #$8,d0
  180.     bge.b    L59
  181. L58
  182.     move.w    _NewScreenStr+$8(a4),d0
  183.     ext.l    d0
  184.     moveq    #1,d2
  185.     asl.l    d0,d2
  186.     bra.b    L60
  187. L59
  188.     move.l    #$100,d2
  189. L60
  190. ;    iniReadWordA ( iniFile, ScreenContext, "ColorTable", (WORD *)
  191.     lea    -$210(a5),a6
  192.     move.l    a6,a3
  193.     move.l    _INIBase(a4),a6
  194.     move.l    d2,d0
  195.     moveq    #0,d1
  196.     move.l    $8(a5),a0
  197.     lea    _ScreenContext(a4),a1
  198.     lea    L53(pc),a2
  199.     jsr    -$CC(a6)
  200. ;    if (!(ScrStrBuf = (struct ScreenList *) iniAllocPMem (sizeof
  201.     move.l    _INIBase(a4),a6
  202.     moveq    #$18,d0
  203.     jsr    -$1E(a6)
  204.     move.l    d0,a2
  205.     cmp.w    #0,a2
  206.     bne.b    L62
  207. L61
  208. ;    
  209. ;      iniFreeNameStr (NewScreenStr.DefaultTitle);
  210.     move.l    _NewScreenStr+$14(a4),a0
  211.     move.l    _INIBase(a4),a6
  212.     jsr    -$30(a6)
  213. ;      
  214.     bra.b    L66
  215. L62
  216. ;    AddTail ((struct List *) &Screens.iniscr_ScrList, (struct No
  217.     move.l    _SysBase(a4),a6
  218.     lea    _Screens(a4),a0
  219.     move.l    a2,a1
  220.     jsr    -$F6(a6)
  221. ;    ScreenStr = OpenScreen (&NewScreenStr);
  222.     move.l    _IntuitionBase(a4),a6
  223.     lea    _NewScreenStr(a4),a0
  224.     jsr    -$C6(a6)
  225.     move.l    d0,a6
  226. ;    ScrStrBuf->iniscr_ScreenPtr = ScreenStr;
  227.     move.l    a2,a0
  228.     move.l    a6,$8(a0)
  229. ;    InitNode ((struct List *) &(ScrStrBuf->iniscr_WinList));
  230.     pea    $C(a2)
  231.     bsr    InitNode__P04List
  232.     addq.w    #4,a7
  233. ;    if (ScreenStr == NULL)
  234.     cmp.w    #0,a6
  235.     bne.b    L64
  236. L63
  237. ;    
  238. ;      iniFreeNameStr (NewScreenStr.DefaultTitle);
  239.     move.l    _NewScreenStr+$14(a4),a0
  240.     move.l    _INIBase(a4),a6
  241.     jsr    -$30(a6)
  242. ;      
  243.     bra.b    L66
  244. L64
  245. ;    LoadRGB4 (&ScreenStr->ViewPort, ScrColorTable, ScrNumCols);
  246.     lea    $2C(a6),a0
  247.     move.l    _GfxBase(a4),a6
  248.     move.l    d2,d0
  249.     lea    -$210(a5),a1
  250.     jsr    -$C0(a6)
  251. L65
  252.     bra    L55
  253. L66
  254.     move.l    d5,d0
  255.     movem.l    (a7)+,d2-d5/a2/a3/a6
  256.     unlk    a5
  257.     rts
  258.  
  259. ;int ReadINIWindows (struct iniFile *iniFile)
  260.     XDEF    ReadINIWindows__P07iniFile
  261. ReadINIWindows__P07iniFile
  262. L92    EQU    -$20
  263.     link    a5,#L92
  264.     movem.l    d2-d5/a2/a3/a6,-(a7)
  265. L76
  266. ;  int rc = 20;
  267.     moveq    #$14,d4
  268. ;  unsigned long CurrentWinNum = 1;
  269.     moveq    #1,d5
  270. ;  for (;;
  271. L77
  272. ;  
  273. ;    iniIntToStr ( WindowContext+6, CurrentWinNum, INI_FORMAT_DEC
  274.     lea    _WindowContext(a4),a0
  275.     move.l    _INIBase(a4),a6
  276.     move.l    d5,d0
  277.     moveq    #0,d1
  278.     moveq    #0,d2
  279.     moveq    #$20,d3
  280.     lea    6(a0),a0
  281.     jsr    -$1AA(a6)
  282. ;    CurrentWinNum++;
  283.     addq.l    #1,d5
  284. ;    if (!(CurrentContext = iniFindContext ( iniFile, WindowConte
  285.     move.l    _INIBase(a4),a6
  286.     moveq    #0,d0
  287.     move.l    $8(a5),a0
  288.     lea    _WindowContext(a4),a1
  289.     jsr    -$1BC(a6)
  290.     tst.l    d0
  291.     bne.b    L79
  292. L78
  293. ;    
  294. ;      rc = 0;
  295.     moveq    #0,d4
  296. ;      
  297.     bra    L91
  298. L79
  299. ;    NewWindowStr.LeftEdge = iniReadLong ( iniFile, WindowContext
  300.     move.l    _INIBase(a4),a6
  301.     moveq    #0,d0
  302.     moveq    #0,d1
  303.     move.l    $8(a5),a0
  304.     lea    _WindowContext(a4),a1
  305.     lea    L45(pc),a2
  306.     jsr    -$B4(a6)
  307.     move.w    d0,_NewWindowStr(a4)
  308. ;    NewWindowStr.TopEdge = iniReadLong ( iniFile, WindowContext,
  309.     move.l    _INIBase(a4),a6
  310.     moveq    #0,d0
  311.     moveq    #0,d1
  312.     move.l    $8(a5),a0
  313.     lea    _WindowContext(a4),a1
  314.     lea    L46(pc),a2
  315.     jsr    -$B4(a6)
  316.     move.w    d0,_NewWindowStr+2(a4)
  317. ;    NewWindowStr.Width = iniReadLong ( iniFile, WindowContext,
  318.     move.l    _INIBase(a4),a6
  319.     move.l    #$280,d0
  320.     moveq    #0,d1
  321.     move.l    $8(a5),a0
  322.     lea    _WindowContext(a4),a1
  323.     lea    L47(pc),a2
  324.     jsr    -$B4(a6)
  325.     move.w    d0,_NewWindowStr+4(a4)
  326. ;    NewWindowStr.Height = iniReadLong ( iniFile, WindowContext,
  327.     move.l    _INIBase(a4),a6
  328.     move.l    #$100,d0
  329.     moveq    #0,d1
  330.     move.l    $8(a5),a0
  331.     lea    _WindowContext(a4),a1
  332.     lea    L48(pc),a2
  333.     jsr    -$B4(a6)
  334.     move.w    d0,_NewWindowStr+6(a4)
  335. ;    NewWindowStr.IDCMPFlags = iniReadLong ( iniFile, WindowConte
  336.     move.l    _INIBase(a4),a6
  337.     move.l    #$20000,d0
  338.     moveq    #0,d1
  339.     move.l    $8(a5),a0
  340.     lea    _WindowContext(a4),a1
  341.     lea    L68(pc),a2
  342.     jsr    -$B4(a6)
  343.     move.l    d0,_NewWindowStr+$A(a4)
  344. ;    NewWindowStr.Flags = iniReadLong ( iniFile, WindowContext,
  345.     move.l    _INIBase(a4),a6
  346.     move.l    #$100F,d0
  347.     moveq    #0,d1
  348.     move.l    $8(a5),a0
  349.     lea    _WindowContext(a4),a1
  350.     lea    L69(pc),a2
  351.     jsr    -$B4(a6)
  352.     move.l    d0,_NewWindowStr+$E(a4)
  353. ;    NewWindowStr.Title = iniReadStr ( iniFile, WindowContext,
  354.     move.l    _INIBase(a4),a6
  355.     moveq    #0,d0
  356.     move.l    $8(a5),a0
  357.     lea    _WindowContext(a4),a1
  358.     lea    L52(pc),a2
  359.     lea    L70(pc),a3
  360.     jsr    -$C0(a6)
  361.     move.l    d0,_NewWindowStr+$1A(a4)
  362. ;    NewWindowStr.MinWidth = iniReadLong ( iniFile, WindowContext
  363.     move.l    _INIBase(a4),a6
  364.     moveq    #$20,d0
  365.     moveq    #0,d1
  366.     move.l    $8(a5),a0
  367.     lea    _WindowContext(a4),a1
  368.     lea    L71(pc),a2
  369.     jsr    -$B4(a6)
  370.     move.w    d0,_NewWindowStr+$26(a4)
  371. ;    NewWindowStr.MaxWidth = iniReadLong ( iniFile, WindowContext
  372.     move.l    _INIBase(a4),a6
  373.     move.l    #$280,d0
  374.     moveq    #0,d1
  375.     move.l    $8(a5),a0
  376.     lea    _WindowContext(a4),a1
  377.     lea    L72(pc),a2
  378.     jsr    -$B4(a6)
  379.     move.w    d0,_NewWindowStr+$2A(a4)
  380. ;    NewWindowStr.MinHeight = iniReadLong ( iniFile, WindowContex
  381.     move.l    _INIBase(a4),a6
  382.     moveq    #$20,d0
  383.     moveq    #0,d1
  384.     move.l    $8(a5),a0
  385.     lea    _WindowContext(a4),a1
  386.     lea    L73(pc),a2
  387.     jsr    -$B4(a6)
  388.     move.w    d0,_NewWindowStr+$28(a4)
  389. ;    NewWindowStr.MaxHeight = iniReadLong ( iniFile, WindowContex
  390.     move.l    _INIBase(a4),a6
  391.     move.l    #$100,d0
  392.     moveq    #0,d1
  393.     move.l    $8(a5),a0
  394.     lea    _WindowContext(a4),a1
  395.     lea    L74(pc),a2
  396.     jsr    -$B4(a6)
  397.     move.w    d0,_NewWindowStr+$2C(a4)
  398. ;    ScreenNum = iniReadLong ( iniFile, WindowContext,
  399.     move.l    _INIBase(a4),a6
  400.     moveq    #1,d0
  401.     moveq    #0,d1
  402.     move.l    $8(a5),a0
  403.     lea    _WindowContext(a4),a1
  404.     lea    L75(pc),a2
  405.     jsr    -$B4(a6)
  406. ;    scr = (struct ScreenList *) &(Screens.iniscr_ScrList.mlh_Hea
  407.     lea    _Screens(a4),a0
  408.     move.l    a0,a2
  409. ;    for (i = ScreenNum+1 ;
  410.     addq.l    #1,d0
  411.     bra.b    L83
  412. L80
  413. ;    
  414. ;      scr = (struct ScreenList *) scr->iniscr_MinNode.mln_Succ;
  415.     move.l    a2,a0
  416.     move.l    (a0),a2
  417. ;      if (scr->iniscr_MinNode.mln_Succ == NULL)
  418.     move.l    a2,a1
  419.     move.l    (a1),a0
  420.     cmp.w    #0,a0
  421.     bne.b    L82
  422. L81
  423. ;      
  424. ;        rc = 0;
  425.     moveq    #0,d4
  426. ;        
  427.     bra.b    L84
  428. L82
  429.     subq.l    #1,d0
  430. L83
  431.     tst.l    d0
  432.     bne.b    L80
  433. L84
  434. ;    if (rc == 0)
  435.     tst.l    d4
  436.     bne.b    L86
  437. L85
  438. ;    
  439. ;      rc = 20;
  440.     moveq    #$14,d4
  441. ;      
  442.     bra    L77
  443. L86
  444. ;    NewWindowStr.Screen = scr->iniscr_ScreenPtr;
  445.     move.l    a2,a1
  446.     move.l    $8(a1),_NewWindowStr+$1E(a4)
  447. ;    if (!(WinStrBuf = (struct ScreenWinList *) iniAllocPMem (siz
  448.     move.l    _INIBase(a4),a6
  449.     moveq    #$C,d0
  450.     jsr    -$1E(a6)
  451.     move.l    d0,a3
  452.     cmp.w    #0,a3
  453.     bne.b    L88
  454. L87
  455. ;    
  456. ;      iniFreeNameStr (NewWindowStr.Title);
  457.     move.l    _NewWindowStr+$1A(a4),a0
  458.     move.l    _INIBase(a4),a6
  459.     jsr    -$30(a6)
  460. ;      
  461.     bra.b    L91
  462. L88
  463. ;    AddTail ((struct List *) &scr->iniscr_WinList, (struct Node 
  464.     move.l    _SysBase(a4),a6
  465.     lea    $C(a2),a0
  466.     move.l    a3,a1
  467.     jsr    -$F6(a6)
  468. ;    WindowStr = OpenWindow (&NewWindowStr);
  469.     move.l    _IntuitionBase(a4),a6
  470.     lea    _NewWindowStr(a4),a0
  471.     jsr    -$CC(a6)
  472.     move.l    d0,a0
  473. ;    if ((WinStrBuf->scrwin_WindowPtr = WindowStr) == NULL)
  474.     move.l    a3,a1
  475.     move.l    a0,$8(a1)
  476.     cmp.w    #0,a0
  477.     bne    L77
  478. L89
  479. ;    
  480. ;      iniFreeNameStr (NewWindowStr.Title);
  481.     move.l    _NewWindowStr+$1A(a4),a0
  482.     move.l    _INIBase(a4),a6
  483.     jsr    -$30(a6)
  484. ;      
  485.     bra.b    L91
  486. L90
  487.     bra    L77
  488. L91
  489.     move.l    d4,d0
  490.     movem.l    (a7)+,d2-d5/a2/a3/a6
  491.     unlk    a5
  492.     rts
  493.  
  494. ;void CloseIntStuff(struct INIScreen *scrlist)
  495.     XDEF    CloseIntStuff__P09INIScreen
  496. CloseIntStuff__P09INIScreen
  497. L108    EQU    -$30
  498.     link    a5,#L108
  499.     movem.l    a2/a3/a6,-(a7)
  500. L93
  501. ;  for (;;
  502. L94
  503. ;  
  504. ;    scr = (struct ScreenList *) scrlist->iniscr_ScrList.mlh_Head;
  505.     move.l    $8(a5),a0
  506.     move.l    (a0),-4(a5)
  507. ;    if (scr->iniscr_MinNode.mln_Succ == NULL)
  508.     move.l    -4(a5),a1
  509.     move.l    (a1),a0
  510.     cmp.w    #0,a0
  511.     bne.b    L96
  512. L95
  513. ;      
  514.     bra    L107
  515. L96
  516. ;    oldwin = (struct ScreenWinList *) &(scr->iniscr_WinList.mlh_
  517.     moveq    #$C,d0
  518.     add.l    -4(a5),d0
  519.     move.l    d0,-$C(a5)
  520. ;    win = (struct ScreenWinList *) oldwin->scrwin_MinNode.mln_Su
  521.     move.l    -$C(a5),a0
  522.     move.l    (a0),a2
  523. ;    for (;;
  524. L97
  525. ;    
  526. ;      oldwin = win;
  527.     move.l    a2,-$C(a5)
  528. ;      if (win->scrwin_MinNode.mln_Succ == NULL)
  529.     move.l    a2,a1
  530.     move.l    (a1),a0
  531.     cmp.w    #0,a0
  532.     bne.b    L99
  533. L98
  534. ;        
  535.     bra    L103
  536. L99
  537. ;      if ( win->scrwin_WindowPtr != NULL)
  538.     move.l    a2,a1
  539.     move.l    $8(a1),a0
  540.     cmp.w    #0,a0
  541.     beq.b    L101
  542. L100
  543. ;      
  544. ;        Title = win->scrwin_WindowPtr->Title;
  545.     move.l    a2,a1
  546.     move.l    $8(a1),a0
  547.     move.l    $20(a0),a3
  548. ;        CloseWindow ( win->scrwin_WindowPtr );
  549.     move.l    a2,a1
  550.     move.l    _IntuitionBase(a4),a6
  551.     move.l    $8(a1),a0
  552.     jsr    -$48(a6)
  553. ;        iniFreeNameStr (Title);
  554.     move.l    _INIBase(a4),a6
  555.     move.l    a3,a0
  556.     jsr    -$30(a6)
  557. L101
  558. ;      win = (struct ScreenWinList *) win->scrwin_MinNode.mln_S
  559.     move.l    a2,a0
  560.     move.l    (a0),a2
  561. ;      iniFreePMem ( oldwin, sizeof(struct ScreenWinList));
  562.     move.l    _INIBase(a4),a6
  563.     moveq    #$C,d0
  564.     move.l    -$C(a5),a1
  565.     jsr    -$24(a6)
  566. L102
  567.     bra.b    L97
  568. L103
  569. ;    Remove ( (struct Node *) scr );
  570.     move.l    _SysBase(a4),a6
  571.     move.l    -4(a5),a1
  572.     jsr    -$FC(a6)
  573. ;    if (scr->iniscr_ScreenPtr == WBScreen.iniscr_ScreenPtr)
  574.     move.l    -4(a5),a0
  575.     move.l    $8(a0),a1
  576.     move.l    _WBScreen+$8(a4),a0
  577.     cmp.l    a0,a1
  578.     bne.b    L105
  579. L104
  580. ;      
  581.     bra    L94
  582. L105
  583. ;    Title = scr->iniscr_ScreenPtr->Title;
  584.     move.l    -4(a5),a1
  585.     move.l    $8(a1),a0
  586.     move.l    $16(a0),a3
  587. ;    CloseScreen (scr->iniscr_ScreenPtr );
  588.     move.l    -4(a5),a1
  589.     move.l    _IntuitionBase(a4),a6
  590.     move.l    $8(a1),a0
  591.     jsr    -$42(a6)
  592. ;    iniFreeNameStr (Title);
  593.     move.l    _INIBase(a4),a6
  594.     move.l    a3,a0
  595.     jsr    -$30(a6)
  596. ;    iniFreePMem ( scr, sizeof(struct ScreenList));
  597.     move.l    _INIBase(a4),a6
  598.     moveq    #$18,d0
  599.     move.l    -4(a5),a1
  600.     jsr    -$24(a6)
  601. L106
  602.     bra    L94
  603. L107
  604.     movem.l    (a7)+,a2/a3/a6
  605.     unlk    a5
  606.     rts
  607.  
  608. ;void main()
  609.     XDEF    main_
  610. main_
  611. L124    EQU    -4
  612.     link    a5,#L124
  613.     movem.l    d2/a6,-(a7)
  614. L113
  615. ;  int rc = 20;
  616.     moveq    #$14,d2
  617. ;  if (!( INIBase = (struct iniLibBase *) OpenLibrary("ini.library"
  618.     move.l    _SysBase(a4),a6
  619.     moveq    #$1F,d0
  620.     lea    L109(pc),a1
  621.     jsr    -$228(a6)
  622.     move.l    d0,_INIBase(a4)
  623.     tst.l    _INIBase(a4)
  624.     bne.b    L115
  625. L114
  626. ;    exit ( rc );
  627.     move.l    d2,-(a7)
  628.     bsr    _exit
  629.     addq.w    #4,a7
  630. L115
  631. ;  IntuitionBase = (struct IntuitionBase *) OpenLibrary ("intuition
  632.     move.l    _SysBase(a4),a6
  633.     moveq    #0,d0
  634.     lea    L110(pc),a1
  635.     jsr    -$228(a6)
  636.     move.l    d0,_IntuitionBase(a4)
  637. ;  GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0L);
  638.     move.l    _SysBase(a4),a6
  639.     moveq    #0,d0
  640.     lea    L111(pc),a1
  641.     jsr    -$228(a6)
  642.     move.l    d0,_GfxBase(a4)
  643. ;  WBScreen.iniscr_MinNode.mln_Succ = (struct MinNode *) &(Screens.
  644.     lea    _Screens(a4),a0
  645.     moveq    #4,d0
  646.     add.l    a0,d0
  647.     move.l    d0,_WBScreen(a4)
  648. ;  WBScreen.iniscr_MinNode.mln_Pred = (struct MinNode *) &(Screens.
  649.     lea    _Screens(a4),a0
  650.     move.l    a0,_WBScreen+4(a4)
  651. ;  WBScreen.iniscr_ScreenPtr = IntuitionBase->FirstScreen;
  652.     move.l    _IntuitionBase(a4),a0
  653.     move.l    $3C(a0),_WBScreen+$8(a4)
  654. ;  if (!(DefINIFile = iniOpenDefault( DefaultINI, ":Example.INI", s
  655.     move.l    _INIBase(a4),a6
  656.     move.l    #$B41,d0
  657.     lea    _DefaultINI(a4),a0
  658.     lea    L112(pc),a1
  659.     jsr    -$42(a6)
  660.     move.l    d0,_DefINIFile(a4)
  661.     tst.l    _DefINIFile(a4)
  662.     bne    L117
  663. L116
  664. ;    goto 
  665.     bra    L123
  666. L117
  667. ;  rc = ReadINIScreens(DefINIFile);
  668.     move.l    _DefINIFile(a4),-(a7)
  669.     bsr    ReadINIScreens__P07iniFile
  670.     addq.w    #4,a7
  671.     move.l    d0,d2
  672. ;  if (rc != 0)
  673.     beq.b    L119
  674. L118
  675. ;    goto 
  676.     bra    L123
  677. L119
  678. ;  rc = ReadINIWindows(DefINIFile);
  679.     move.l    _DefINIFile(a4),-(a7)
  680.     bsr    ReadINIWindows__P07iniFile
  681.     addq.w    #4,a7
  682.     move.l    d0,d2
  683. ;  if (rc != 0)
  684.     beq.b    L122
  685. L120
  686. ;    goto 
  687.     bra.b    L123
  688. L121
  689. ;  while (*( unsigned char *)0xBFE001 & 0x40);
  690. L122
  691.     move.l    #$BFE001,a0
  692.     moveq    #0,d0
  693.     move.b    (a0),d0
  694.     and.l    #$40,d0
  695.     bne.b    L122
  696. L123
  697. ;  CloseIntStuff(&Screens);
  698.     pea    _Screens(a4)
  699.     bsr    CloseIntStuff__P09INIScreen
  700.     addq.w    #4,a7
  701. ;  iniClose ( DefINIFile );
  702.     move.l    _DefINIFile(a4),a0
  703.     move.l    _INIBase(a4),a6
  704.     jsr    -$5A(a6)
  705. ;  CloseLibrary ( (struct Library *) GfxBase );
  706.     move.l    _GfxBase(a4),a1
  707.     move.l    _SysBase(a4),a6
  708.     jsr    -$19E(a6)
  709. ;  CloseLibrary ( (struct Library *) IntuitionBase );
  710.     move.l    _IntuitionBase(a4),a1
  711.     move.l    _SysBase(a4),a6
  712.     jsr    -$19E(a6)
  713. ;  CloseLibrary ( (struct Library *) INIBase );
  714.     move.l    _INIBase(a4),a1
  715.     move.l    _SysBase(a4),a6
  716.     jsr    -$19E(a6)
  717. ;  exit ( rc );
  718.     move.l    d2,-(a7)
  719.     bsr    _exit
  720.     addq.w    #4,a7
  721.     movem.l    (a7)+,d2/a6
  722.     unlk    a5
  723.     moveq    #0,d0
  724.     rts
  725.  
  726. L112
  727.     dc.b    ':Example.INI',0
  728. L53
  729.     dc.b    'ColorTable',0
  730. L49
  731.     dc.b    'Depth',0
  732. L51
  733.     dc.b    'Example INI Test Screen © 1999 by Basty/Seasons',0
  734. L70
  735.     dc.b    'Example INI Test Window © 1999 by Basty/Seasons',0
  736. L69
  737.     dc.b    'Flags',0
  738. L48
  739.     dc.b    'Height',0
  740. L68
  741.     dc.b    'IDCMP',0
  742. L45
  743.     dc.b    'LeftEdge',0
  744. L74
  745.     dc.b    'MaxHeight',0
  746. L72
  747.     dc.b    'MaxWidth',0
  748. L73
  749.     dc.b    'MinHeight',0
  750. L71
  751.     dc.b    'MinWidth',0
  752. L75
  753.     dc.b    'Screen',0
  754. L52
  755.     dc.b    'Title',0
  756. L46
  757.     dc.b    'TopEdge',0
  758. L50
  759.     dc.b    'ViewModes',0
  760. L47
  761.     dc.b    'Width',0
  762. L111
  763.     dc.b    'graphics.library',0
  764. L109
  765.     dc.b    'ini.library',0
  766. L110
  767.     dc.b    'intuition.library',0
  768.  
  769.     SECTION ":1",DATA
  770.  
  771.     XDEF    _DefaultINI
  772. _DefaultINI
  773.     dc.b    $2F,$2A,$20,$54,$68,$69,$73,$20,$69,$73,$20
  774.     dc.b    $61,$6E,$20,$65,$78,$61,$6D,$70,$6C,$65,$20
  775.     dc.b    $49,$4E,$49,$20,$66,$69,$6C,$65,$20,$6F,$66
  776.     dc.b    $20,$74,$68,$65,$20,$69,$6E,$69,$2E,$6C,$69
  777.     dc.b    $62,$72,$61,$72,$79,$20,$77,$68,$69,$63,$68
  778.     dc.b    $A,$20,$20,$20,$73,$68,$6F,$77,$73,$20,$68
  779.     dc.b    $6F,$77,$20,$74,$68,$65,$20,$49,$4E,$49,$20
  780.     dc.b    $63,$6F,$6E,$66,$69,$67,$75,$72,$61,$74,$69
  781.     dc.b    $6F,$6E,$20,$66,$69,$6C,$65,$73,$20,$63,$61
  782.     dc.b    $6E,$20,$62,$65,$20,$75,$73,$65,$64,$2E,$20
  783.     dc.b    $49,$74,$20,$73,$75,$70,$70,$6F,$72,$74,$73
  784.     dc.b    $A,$20,$20,$20,$6D,$75,$6C,$74,$69,$70,$6C
  785.     dc.b    $65,$20,$61,$63,$63,$65,$73,$73,$65,$73,$2E
  786.     dc.b    $20,$54,$68,$69,$73,$20,$66,$69,$6C,$65,$20
  787.     dc.b    $69,$73,$20,$61,$6C,$77,$61,$79,$73,$20,$63
  788.     dc.b    $72,$65,$61,$74,$65,$64,$20,$69,$66,$20,$69
  789.     dc.b    $74,$20,$63,$61,$6E,$27,$74,$20,$62,$65,$A
  790.     dc.b    $20,$20,$20,$61,$63,$63,$65,$73,$73,$65,$64
  791.     dc.b    $20,$66,$6F,$72,$20,$61,$6E,$79,$20,$72,$65
  792.     dc.b    $61,$73,$6F,$6E,$20,$28,$75,$73,$75,$61,$6C
  793.     dc.b    $6C,$79,$20,$77,$68,$65,$6E,$20,$69,$74,$20
  794.     dc.b    $64,$6F,$65,$73,$6E,$27,$74,$20,$65,$78,$69
  795.     dc.b    $73,$74,$73,$29,$20,$2A,$2F,$A,$A,$20,$20
  796.     dc.b    $5B,$53,$63,$72,$65,$65,$6E,$31,$5D,$20,$20
  797.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$20,$3B,$20
  798.     dc.b    $55,$70,$20,$74,$6F,$20,$39,$20,$73,$63,$72
  799.     dc.b    $65,$65,$6E,$73,$20,$61,$72,$65,$20,$61,$6C
  800.     dc.b    $6C,$6F,$77,$65,$64,$2E,$A,$20,$20,$4C,$65
  801.     dc.b    $66,$74,$45,$64,$67,$65,$20,$3D,$20,$30,$20
  802.     dc.b    $20,$20,$20,$20,$20,$20,$20,$3B,$20,$4C,$65
  803.     dc.b    $66,$74,$20,$65,$64,$67,$65,$20,$6F,$66,$20
  804.     dc.b    $73,$63,$72,$65,$65,$6E,$2E,$A,$20,$20,$54
  805.     dc.b    $6F,$70,$45,$64,$67,$65,$20,$3D,$20,$30,$20
  806.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$3B,$20,$54
  807.     dc.b    $6F,$70,$20,$65,$64,$67,$65,$20,$6F,$66,$20
  808.     dc.b    $73,$63,$72,$65,$65,$6E,$2E,$A,$20,$20,$57
  809.     dc.b    $69,$64,$74,$68,$20,$3D,$20,$36,$34,$30,$20
  810.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$3B,$20,$57
  811.     dc.b    $69,$64,$74,$68,$20,$6F,$66,$20,$73,$63,$72
  812.     dc.b    $65,$65,$6E,$2E,$A,$20,$20,$48,$65,$69,$67
  813.     dc.b    $68,$74,$20,$3D,$20,$32,$35,$36,$20,$20,$20
  814.     dc.b    $20,$20,$20,$20,$20,$3B,$20,$48,$65,$69,$67
  815.     dc.b    $68,$74,$20,$6F,$66,$20,$73,$63,$72,$65,$65
  816.     dc.b    $6E,$2E,$A,$20,$20,$44,$65,$70,$74,$68,$20
  817.     dc.b    $3D,$20,$34,$20,$20,$20,$20,$20,$20,$20,$20
  818.     dc.b    $20,$20,$20,$3B,$20,$55,$73,$65,$20,$32,$5E
  819.     dc.b    $44,$65,$70,$74,$68,$20,$63,$6F,$6C,$6F,$72
  820.     dc.b    $73,$2E,$A,$20,$20,$56,$69,$65,$77,$4D,$6F
  821.     dc.b    $64,$65,$20,$3D,$20,$30,$78,$38,$30,$30,$30
  822.     dc.b    $20,$20,$20,$3B,$20,$53,$63,$72,$65,$65,$6E
  823.     dc.b    $20,$76,$69,$65,$77,$20,$6D,$6F,$64,$65,$20
  824.     dc.b    $28,$6C,$6F,$72,$65,$73,$2C,$20,$68,$69,$72
  825.     dc.b    $65,$73,$2C,$20,$65,$74,$63,$2E,$29,$A,$20
  826.     dc.b    $20,$54,$69,$74,$6C,$65,$20,$3D,$20,$45,$78
  827.     dc.b    $61,$6D,$70,$6C,$65,$20,$49,$4E,$49,$20,$54
  828.     dc.b    $65,$73,$74,$20,$53,$63,$72,$65,$65,$6E,$20
  829.     dc.b    $A9,$20,$31,$39,$39,$39,$20,$62,$79,$20,$42
  830.     dc.b    $61,$73,$74,$79,$2F,$53,$65,$61,$73,$6F,$6E
  831.     dc.b    $73,$20,$20,$3B,$20,$44,$65,$66,$61,$75,$6C
  832.     dc.b    $74,$20,$74,$69,$74,$6C,$65,$A,$20,$20,$43
  833.     dc.b    $6F,$6C,$6F,$72,$54,$61,$62,$6C,$65,$20,$3D
  834.     dc.b    $20,$30,$78,$30,$30,$30,$2C,$20,$30,$78,$46
  835.     dc.b    $46,$46,$2C,$20,$30,$78,$37,$37,$37,$2C,$20
  836.     dc.b    $30,$78,$43,$43,$43,$2C,$20,$20,$3B,$20,$43
  837.     dc.b    $6F,$6C,$6F,$72,$20,$74,$61,$62,$6C,$65,$20
  838.     dc.b    $65,$6E,$74,$72,$69,$65,$73,$2E,$A,$20,$20
  839.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20
  840.     dc.b    $20,$20,$30,$78,$34,$34,$34,$2C,$20,$30,$78
  841.     dc.b    $35,$35,$35,$2C,$20,$30,$78,$36,$36,$36,$2C
  842.     dc.b    $20,$30,$78,$38,$38,$38,$2C,$20,$20,$3B,$20
  843.     dc.b    $54,$68,$65,$72,$65,$20,$61,$72,$65,$20,$32
  844.     dc.b    $5E,$44,$65,$70,$74,$68,$20,$65,$6E,$74,$72
  845.     dc.b    $69,$65,$73,$A,$20,$20,$20,$20,$20,$20,$20
  846.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$30,$78,$31
  847.     dc.b    $31,$31,$2C,$20,$30,$78,$32,$32,$32,$2C,$20
  848.     dc.b    $30,$78,$41,$41,$41,$2C,$20,$30,$78,$33,$33
  849.     dc.b    $33,$2C,$20,$20,$3B,$20,$72,$65,$71,$75,$69
  850.     dc.b    $72,$65,$64,$2E,$20,$46,$75,$72,$74,$68,$65
  851.     dc.b    $72,$20,$65,$6E,$74,$72,$69,$65,$73,$A,$20
  852.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$20
  853.     dc.b    $20,$20,$20,$30,$78,$39,$39,$39,$2C,$20,$30
  854.     dc.b    $78,$44,$44,$44,$2C,$20,$30,$78,$45,$45,$45
  855.     dc.b    $2C,$20,$30,$78,$42,$42,$42,$2C,$20,$20,$3B
  856.     dc.b    $20,$77,$69,$6C,$6C,$20,$62,$65,$20,$69,$67
  857.     dc.b    $6E,$6F,$72,$65,$64,$2E,$A,$A,$2A,$20,$4E
  858.     dc.b    $6F,$77,$20,$77,$65,$20,$63,$6F,$6E,$66,$69
  859.     dc.b    $67,$75,$72,$65,$20,$74,$68,$65,$20,$77,$69
  860.     dc.b    $6E,$64,$6F,$77,$73,$20,$74,$6F,$20,$62,$65
  861.     dc.b    $20,$6F,$70,$65,$6E,$65,$64,$2E,$20,$50,$6C
  862.     dc.b    $65,$61,$73,$65,$20,$6E,$6F,$74,$65,$20,$74
  863.     dc.b    $68,$61,$74,$20,$74,$68,$65,$20,$77,$69,$6E
  864.     dc.b    $64,$6F,$77,$73,$A,$2A,$20,$61,$72,$65,$20
  865.     dc.b    $61,$73,$73,$69,$67,$6E,$65,$64,$20,$75,$73
  866.     dc.b    $69,$6E,$67,$20,$74,$68,$65,$20,$27,$53,$63
  867.     dc.b    $72,$65,$65,$6E,$27,$20,$63,$6F,$6E,$74,$65
  868.     dc.b    $78,$74,$20,$69,$74,$65,$6D,$2E,$A,$A,$20
  869.     dc.b    $20,$5B,$57,$69,$6E,$64,$6F,$77,$31,$5D,$A
  870.     dc.b    $20,$20,$4C,$65,$66,$74,$45,$64,$67,$65,$20
  871.     dc.b    $3D,$20,$30,$20,$20,$20,$20,$20,$20,$20,$20
  872.     dc.b    $3B,$20,$4C,$65,$66,$74,$20,$65,$64,$67,$65
  873.     dc.b    $20,$6F,$66,$20,$77,$69,$6E,$64,$6F,$77,$2E
  874.     dc.b    $A,$20,$20,$54,$6F,$70,$45,$64,$67,$65,$20
  875.     dc.b    $3D,$20,$30,$20,$20,$20,$20,$20,$20,$20,$20
  876.     dc.b    $20,$3B,$20,$54,$6F,$70,$20,$65,$64,$67,$65
  877.     dc.b    $20,$6F,$66,$20,$77,$69,$6E,$64,$6F,$77,$2E
  878.     dc.b    $A,$20,$20,$57,$69,$64,$74,$68,$20,$3D,$20
  879.     dc.b    $36,$34,$30,$9,$9,$20,$3B,$20,$57,$69,$64
  880.     dc.b    $74,$68,$20,$6F,$66,$20,$77,$69,$6E,$64,$6F
  881.     dc.b    $77,$2E,$A,$20,$20,$48,$65,$69,$67,$68,$74
  882.     dc.b    $20,$3D,$20,$32,$35,$36,$9,$9,$20,$3B,$20
  883.     dc.b    $48,$65,$69,$67,$68,$74,$20,$6F,$66,$20,$77
  884.     dc.b    $69,$6E,$64,$6F,$77,$2E,$A,$20,$20,$49,$44
  885.     dc.b    $43,$4D,$50,$20,$3D,$20,$30,$78,$30,$30,$30
  886.     dc.b    $32,$30,$30,$30,$30,$20,$20,$3B,$20,$49,$44
  887.     dc.b    $43,$4D,$50,$20,$66,$6C,$61,$67,$73,$20,$6F
  888.     dc.b    $66,$20,$77,$69,$6E,$64,$6F,$77,$2E,$A,$20
  889.     dc.b    $20,$46,$6C,$61,$67,$73,$20,$3D,$20,$30,$78
  890.     dc.b    $30,$30,$30,$30,$31,$30,$30,$46,$20,$20,$3B
  891.     dc.b    $20,$44,$65,$66,$61,$75,$6C,$74,$20,$77,$69
  892.     dc.b    $6E,$64,$6F,$77,$20,$66,$6C,$61,$67,$73,$2E
  893.     dc.b    $A,$20,$20,$54,$69,$74,$6C,$65,$20,$3D,$20
  894.     dc.b    $45,$78,$61,$6D,$70,$6C,$65,$20,$49,$4E,$49
  895.     dc.b    $20,$54,$65,$73,$74,$20,$57,$69,$6E,$64,$6F
  896.     dc.b    $77,$20,$A9,$20,$31,$39,$39,$39,$20,$62,$79
  897.     dc.b    $20,$42,$61,$73,$74,$79,$2F,$53,$65,$61,$73
  898.     dc.b    $6F,$6E,$73,$20,$20,$3B,$20,$44,$65,$66,$61
  899.     dc.b    $75,$6C,$74,$20,$74,$69,$74,$6C,$65,$A,$20
  900.     dc.b    $20,$53,$63,$72,$65,$65,$6E,$20,$3D,$20,$31
  901.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$20,$20,$3B
  902.     dc.b    $20,$53,$63,$72,$65,$65,$6E,$20,$74,$6F,$20
  903.     dc.b    $6F,$70,$65,$6E,$20,$77,$69,$6E,$64,$6F,$77
  904.     dc.b    $20,$6F,$6E,$2E,$20,$30,$20,$69,$73,$20,$77
  905.     dc.b    $6F,$72,$6B,$62,$65,$6E,$63,$68,$20,$73,$63
  906.     dc.b    $72,$65,$65,$6E,$A,$20,$20,$4D,$69,$6E,$57
  907.     dc.b    $69,$64,$74,$68,$20,$3D,$20,$33,$32,$A,$20
  908.     dc.b    $20,$4D,$69,$6E,$48,$65,$69,$67,$68,$74,$20
  909.     dc.b    $3D,$20,$33,$32,$A,$20,$20,$4D,$61,$78,$57
  910.     dc.b    $69,$64,$74,$68,$20,$3D,$20,$36,$34,$30,$A
  911.     dc.b    $20,$20,$4D,$61,$78,$48,$65,$69,$67,$68,$74
  912.     dc.b    $20,$3D,$20,$32,$35,$36,$A,$A,$20,$20,$5B
  913.     dc.b    $57,$69,$6E,$64,$6F,$77,$32,$5D,$A,$20,$20
  914.     dc.b    $4C,$65,$66,$74,$45,$64,$67,$65,$20,$3D,$20
  915.     dc.b    $30,$20,$20,$20,$20,$20,$20,$20,$20,$3B,$20
  916.     dc.b    $4C,$65,$66,$74,$20,$65,$64,$67,$65,$20,$6F
  917.     dc.b    $66,$20,$77,$69,$6E,$64,$6F,$77,$2E,$A,$20
  918.     dc.b    $20,$54,$6F,$70,$45,$64,$67,$65,$20,$3D,$20
  919.     dc.b    $31,$36,$20,$20,$20,$20,$20,$20,$20,$20,$3B
  920.     dc.b    $20,$54,$6F,$70,$20,$65,$64,$67,$65,$20,$6F
  921.     dc.b    $66,$20,$77,$69,$6E,$64,$6F,$77,$2E,$A,$20
  922.     dc.b    $20,$57,$69,$64,$74,$68,$20,$3D,$20,$36,$34
  923.     dc.b    $30,$9,$9,$20,$3B,$20,$57,$69,$64,$74,$68
  924.     dc.b    $20,$6F,$66,$20,$77,$69,$6E,$64,$6F,$77,$2E
  925.     dc.b    $A,$20,$20,$48,$65,$69,$67,$68,$74,$20,$3D
  926.     dc.b    $20,$36,$34,$9,$9,$20,$3B,$20,$48,$65,$69
  927.     dc.b    $67,$68,$74,$20,$6F,$66,$20,$77,$69,$6E,$64
  928.     dc.b    $6F,$77,$2E,$A,$20,$20,$49,$44,$43,$4D,$50
  929.     dc.b    $20,$3D,$20,$30,$78,$30,$30,$30,$32,$30,$30
  930.     dc.b    $30,$30,$20,$20,$3B,$20,$49,$44,$43,$4D,$50
  931.     dc.b    $20,$66,$6C,$61,$67,$73,$20,$6F,$66,$20,$77
  932.     dc.b    $69,$6E,$64,$6F,$77,$2E,$A,$20,$20,$46,$6C
  933.     dc.b    $61,$67,$73,$20,$3D,$20,$30,$78,$30,$30,$30
  934.     dc.b    $30,$31,$30,$30,$46,$20,$20,$3B,$20,$44,$65
  935.     dc.b    $66,$61,$75,$6C,$74,$20,$77,$69,$6E,$64,$6F
  936.     dc.b    $77,$20,$66,$6C,$61,$67,$73,$2E,$A,$20,$20
  937.     dc.b    $54,$69,$74,$6C,$65,$20,$3D,$20,$53,$6D,$61
  938.     dc.b    $6C,$6C,$20,$77,$69,$6E,$64,$6F,$77,$20,$23
  939.     dc.b    $32,$20,$20,$3B,$20,$44,$65,$66,$61,$75,$6C
  940.     dc.b    $74,$20,$74,$69,$74,$6C,$65,$A,$20,$20,$53
  941.     dc.b    $63,$72,$65,$65,$6E,$20,$3D,$20,$31,$20,$20
  942.     dc.b    $20,$20,$20,$20,$20,$20,$20,$20,$3B,$20,$53
  943.     dc.b    $63,$72,$65,$65,$6E,$20,$74,$6F,$20,$6F,$70
  944.     dc.b    $65,$6E,$20,$77,$69,$6E,$64,$6F,$77,$20,$6F
  945.     dc.b    $6E,$2E,$20,$30,$20,$69,$73,$20,$77,$6F,$72
  946.     dc.b    $6B,$62,$65,$6E,$63,$68,$20,$73,$63,$72,$65
  947.     dc.b    $65,$6E,$A,$20,$20,$4D,$69,$6E,$57,$69,$64
  948.     dc.b    $74,$68,$20,$3D,$20,$33,$32,$A,$20,$20,$4D
  949.     dc.b    $69,$6E,$48,$65,$69,$67,$68,$74,$20,$3D,$20
  950.     dc.b    $33,$32,$A,$20,$20,$4D,$61,$78,$57,$69,$64
  951.     dc.b    $74,$68,$20,$3D,$20,$36,$34,$30,$A,$20,$20
  952.     dc.b    $4D,$61,$78,$48,$65,$69,$67,$68,$74,$20,$3D
  953.     dc.b    $20,$36,$34,$A,$A,$20,$20,$5B,$57,$69,$6E
  954.     dc.b    $64,$6F,$77,$33,$5D,$A,$20,$20,$4C,$65,$66
  955.     dc.b    $74,$45,$64,$67,$65,$20,$3D,$20,$30,$20,$20
  956.     dc.b    $20,$20,$20,$20,$20,$20,$3B,$20,$4C,$65,$66
  957.     dc.b    $74,$20,$65,$64,$67,$65,$20,$6F,$66,$20,$77
  958.     dc.b    $69,$6E,$64,$6F,$77,$2E,$A,$20,$20,$54,$6F
  959.     dc.b    $70,$45,$64,$67,$65,$20,$3D,$20,$38,$30,$20
  960.     dc.b    $20,$20,$20,$20,$20,$20,$20,$3B,$20,$54,$6F
  961.     dc.b    $70,$20,$65,$64,$67,$65,$20,$6F,$66,$20,$77
  962.     dc.b    $69,$6E,$64,$6F,$77,$2E,$A,$20,$20,$57,$69
  963.     dc.b    $64,$74,$68,$20,$3D,$20,$36,$34,$30,$9,$9
  964.     dc.b    $20,$3B,$20,$57,$69,$64,$74,$68,$20,$6F,$66
  965.     dc.b    $20,$77,$69,$6E,$64,$6F,$77,$2E,$A,$20,$20
  966.     dc.b    $48,$65,$69,$67,$68,$74,$20,$3D,$20,$36,$34
  967.     dc.b    $9,$9,$20,$3B,$20,$48,$65,$69,$67,$68,$74
  968.     dc.b    $20,$6F,$66,$20,$77,$69,$6E,$64,$6F,$77,$2E
  969.     dc.b    $A,$20,$20,$49,$44,$43,$4D,$50,$20,$3D,$20
  970.     dc.b    $30,$78,$30,$30,$30,$32,$30,$30,$30,$30,$20
  971.     dc.b    $20,$3B,$20,$49,$44,$43,$4D,$50,$20,$66,$6C
  972.     dc.b    $61,$67,$73,$20,$6F,$66,$20,$77,$69,$6E,$64
  973.     dc.b    $6F,$77,$2E,$A,$20,$20,$46,$6C,$61,$67,$73
  974.     dc.b    $20,$3D,$20,$30,$78,$30,$30,$30,$30,$31,$30
  975.     dc.b    $30,$46,$20,$20,$3B,$20,$44,$65,$66,$61,$75
  976.     dc.b    $6C,$74,$20,$77,$69,$6E,$64,$6F,$77,$20,$66
  977.     dc.b    $6C,$61,$67,$73,$2E,$A,$20,$20,$54,$69,$74
  978.     dc.b    $6C,$65,$20,$3D,$20,$53,$6D,$61,$6C,$6C,$20
  979.     dc.b    $77,$69,$6E,$64,$6F,$77,$20,$23,$33,$20,$20
  980.     dc.b    $3B,$20,$44,$65,$66,$61,$75,$6C,$74,$20,$74
  981.     dc.b    $69,$74,$6C,$65,$A,$20,$20,$53,$63,$72,$65
  982.     dc.b    $65,$6E,$20,$3D,$20,$31,$20,$20,$20,$20,$20
  983.     dc.b    $20,$20,$20,$20,$20,$3B,$20,$53,$63,$72,$65
  984.     dc.b    $65,$6E,$20,$74,$6F,$20,$6F,$70,$65,$6E,$20
  985.     dc.b    $77,$69,$6E,$64,$6F,$77,$20,$6F,$6E,$2E,$20
  986.     dc.b    $30,$20,$69,$73,$20,$77,$6F,$72,$6B,$62,$65
  987.     dc.b    $6E,$63,$68,$20,$73,$63,$72,$65,$65,$6E,$A
  988.     dc.b    $20,$20,$4D,$69,$6E,$57,$69,$64,$74,$68,$20
  989.     dc.b    $3D,$20,$33,$32,$A,$20,$20,$4D,$69,$6E,$48
  990.     dc.b    $65,$69,$67,$68,$74,$20,$3D,$20,$33,$32,$A
  991.     dc.b    $20,$20,$4D,$61,$78,$57,$69,$64,$74,$68,$20
  992.     dc.b    $3D,$20,$36,$34,$30,$A,$20,$20,$4D,$61,$78
  993.     dc.b    $48,$65,$69,$67,$68,$74,$20,$3D,$20,$36,$34
  994.     dc.b    $A,$A,$20,$20,$5B,$57,$69,$6E,$64,$6F,$77
  995.     dc.b    $34,$5D,$A,$20,$20,$4C,$65,$66,$74,$45,$64
  996.     dc.b    $67,$65,$20,$3D,$20,$30,$20,$20,$20,$20,$20
  997.     dc.b    $20,$20,$20,$3B,$20,$4C,$65,$66,$74,$20,$65
  998.     dc.b    $64,$67,$65,$20,$6F,$66,$20,$77,$69,$6E,$64
  999.     dc.b    $6F,$77,$2E,$A,$20,$20,$54,$6F,$70,$45,$64
  1000.     dc.b    $67,$65,$20,$3D,$20,$31,$34,$34,$20,$20,$20
  1001.     dc.b    $20,$20,$20,$20,$3B,$20,$54,$6F,$70,$20,$65
  1002.     dc.b    $64,$67,$65,$20,$6F,$66,$20,$77,$69,$6E,$64
  1003.     dc.b    $6F,$77,$2E,$A,$20,$20,$57,$69,$64,$74,$68
  1004.     dc.b    $20,$3D,$20,$36,$34,$30,$9,$9,$20,$3B,$20
  1005.     dc.b    $57,$69,$64,$74,$68,$20,$6F,$66,$20,$77,$69
  1006.     dc.b    $6E,$64,$6F,$77,$2E,$A,$20,$20,$48,$65,$69
  1007.     dc.b    $67,$68,$74,$20,$3D,$20,$36,$34,$9,$9,$20
  1008.     dc.b    $3B,$20,$48,$65,$69,$67,$68,$74,$20,$6F,$66
  1009.     dc.b    $20,$77,$69,$6E,$64,$6F,$77,$2E,$A,$20,$20
  1010.     dc.b    $49,$44,$43,$4D,$50,$20,$3D,$20,$30,$78,$30
  1011.     dc.b    $30,$30,$32,$30,$30,$30,$30,$20,$20,$3B,$20
  1012.     dc.b    $49,$44,$43,$4D,$50,$20,$66,$6C,$61,$67,$73
  1013.     dc.b    $20,$6F,$66,$20,$77,$69,$6E,$64,$6F,$77,$2E
  1014.     dc.b    $A,$20,$20,$46,$6C,$61,$67,$73,$20,$3D,$20
  1015.     dc.b    $30,$78,$30,$30,$30,$30,$31,$30,$30,$46,$20
  1016.     dc.b    $20,$3B,$20,$44,$65,$66,$61,$75,$6C,$74,$20
  1017.     dc.b    $77,$69,$6E,$64,$6F,$77,$20,$66,$6C,$61,$67
  1018.     dc.b    $73,$2E,$A,$20,$20,$54,$69,$74,$6C,$65,$20
  1019.     dc.b    $3D,$20,$53,$6D,$61,$6C,$6C,$20,$77,$69,$6E
  1020.     dc.b    $64,$6F,$77,$20,$23,$34,$20,$20,$3B,$20,$44
  1021.     dc.b    $65,$66,$61,$75,$6C,$74,$20,$74,$69,$74,$6C
  1022.     dc.b    $65,$A,$20,$20,$53,$63,$72,$65,$65,$6E,$20
  1023.     dc.b    $3D,$20,$31,$20,$20,$20,$20,$20,$20,$20,$20
  1024.     dc.b    $20,$20,$3B,$20,$53,$63,$72,$65,$65,$6E,$20
  1025.     dc.b    $74,$6F,$20,$6F,$70,$65,$6E,$20,$77,$69,$6E
  1026.     dc.b    $64,$6F,$77,$20,$6F,$6E,$2E,$20,$30,$20,$69
  1027.     dc.b    $73,$20,$77,$6F,$72,$6B,$62,$65,$6E,$63,$68
  1028.     dc.b    $20,$73,$63,$72,$65,$65,$6E,$A,$20,$20,$4D
  1029.     dc.b    $69,$6E,$57,$69,$64,$74,$68,$20,$3D,$20,$33
  1030.     dc.b    $32,$A,$20,$20,$4D,$69,$6E,$48,$65,$69,$67
  1031.     dc.b    $68,$74,$20,$3D,$20,$33,$32,$A,$20,$20,$4D
  1032.     dc.b    $61,$78,$57,$69,$64,$74,$68,$20,$3D,$20,$36
  1033.     dc.b    $34,$30,$A,$20,$20,$4D,$61,$78,$48,$65,$69
  1034.     dc.b    $67,$68,$74,$20,$3D,$20,$36,$34,$A,$A
  1035.     CNOP    0,4
  1036.     XDEF    _WBScreen
  1037. _WBScreen
  1038.     dc.l    0,0,0
  1039.     ds.b    4
  1040.     dc.l    0
  1041.     ds.b    4
  1042.     XDEF    _Screens
  1043. _Screens
  1044.     ds.b    4
  1045.     dc.l    0
  1046.     ds.b    4
  1047.     XDEF    _DefaultColTab
  1048. _DefaultColTab
  1049.     dc.w    0,$FFF,$777,$CCC,$444,$555,$666,$888,$111,$222,$AAA
  1050.     dc.w    $333,$999,$DDD,$EEE,$BBB
  1051.     ds.b    480
  1052.     XDEF    _NewScreenStr
  1053. _NewScreenStr
  1054.     dc.w    0,0,$280,$100,4
  1055.     dc.b    1,0
  1056.     dc.w    $8000,$F
  1057.     dc.l    0,0,0,0
  1058.     XDEF    _NewWindowStr
  1059. _NewWindowStr
  1060.     dc.w    0,0,$280,$100
  1061.     dc.b    1,0
  1062.     dc.l    $200,$100F,0,0,0,0,0
  1063.     dc.w    0,0,$280,$100,$F
  1064.     XDEF    _ScreenContext
  1065. _ScreenContext
  1066.     dc.b    'Screen',0
  1067.     ds.b    9
  1068.     XDEF    _WindowContext
  1069. _WindowContext
  1070.     dc.b    'Window',0
  1071.     ds.b    9
  1072.  
  1073.     SECTION ":2",BSS
  1074.  
  1075.     XDEF    _INIBase
  1076. _INIBase
  1077.     ds.l    1
  1078.     XDEF    _IntuitionBase
  1079. _IntuitionBase
  1080.     ds.l    1
  1081.     XDEF    _GfxBase
  1082. _GfxBase
  1083.     ds.l    1
  1084.     XDEF    _DefINIFile
  1085. _DefINIFile
  1086.     ds.l    1
  1087.  
  1088.     END
  1089.